home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / util / gnu / gnu_tile_forth.lha / tst / rationals.tst < prev    next >
Text File  |  1992-05-19  |  1KB  |  83 lines

  1. .( Loading Rational number test...) cr
  2.  
  3. #include rationals.f83
  4.  
  5. rationals
  6.  
  7.  
  8. .( 1: Management of undefined values and infinity) cr
  9.  
  10. 1/1 undefined r+ undefined ?r= .
  11. 1/1 undefined r- undefined ?r= .
  12. 1/1 undefined r* undefined ?r= .
  13. 1/1 undefined r/ undefined ?r= .
  14. cr
  15. 1/1 infinity r+  infinity ?r= .
  16. 1/1 infinity r-  -infinity ?r= .
  17. 1/1 infinity r*  infinity ?r= .
  18. 1/1 infinity r/  zero ?r= .
  19. cr
  20. 1/1 -infinity r+ -infinity ?r= .
  21. 1/1 -infinity r- infinity ?r= .
  22. 1/1 -infinity r* -infinity ?r= .
  23. 1/1 -infinity r/ zero ?r= .
  24. cr
  25. infinity infinity r+ infinity ?r= .
  26. infinity infinity r- undefined ?r= .
  27. infinity infinity r* infinity ?r= .
  28. infinity infinity r/ undefined ?r= .
  29. cr
  30. infinity -infinity r+ undefined ?r= .
  31. infinity -infinity r- infinity ?r= .
  32. infinity -infinity r* -infinity ?r= .
  33. infinity -infinity r/ undefined ?r= .
  34. cr
  35.  
  36.  
  37. .( 2: Literal and constant rational number) cr
  38.  
  39. 12/2387 rational y ( -- num denum)
  40.  
  41. y r. cr
  42. y 1/r r. cr
  43. y y r+ r. cr
  44. y y r- r. cr
  45. y y r* r. cr
  46. y y r/ r. cr 
  47. y r>i . cr
  48.  
  49.  
  50. .( 3: Literal rational number in code) cr
  51.  
  52. : x ( -- x y)
  53.   -115/38
  54. ;
  55.  
  56. x r. cr
  57. x 1/r r. cr
  58. x y r+ r. cr
  59. x y r- r. cr
  60. x y r* r. cr
  61. x y r/ r. cr
  62. x r>i . cr
  63.  
  64.  
  65. .( 4: Relational functions on rational numbers) cr
  66.  
  67. x x ?r= . cr
  68. x y ?r= . cr
  69. x y ?r> . cr
  70. x y ?r< . cr
  71.  
  72.  
  73. .( 5: A rational variable) cr
  74.  
  75. RATIONAL z
  76.  
  77. -10/90 20/13 r+ z 2!
  78. z 2@ r. cr
  79. x z 2@ r/ r. cr
  80. y z 2@ r* r. cr
  81.  
  82. forth only
  83.